Q. 프로토타입 내부 슬롯 [[Prototype]]에 직접 접근할 수 없는 이유와 접근 방법에 대해 설명해 주세요.
🧑🏻💻 Answer.
✅ 접근 불가 이유
- 프로토타입 내부 슬롯 [[Prototype]]에 직접 접근할 수 없는 이유는 프로토타입 체인의 순환 참조를 막기 위해서 입니다.
✅ 상세 설명
- 프로토타입 내부 슬롯([[Prototype]])은 Prototype 객체를 가리킵니다. 따라서 내부 슬롯 [[Prototype]]에 직접 접근할 수 있게 된다면 프로토타입 체인에 따라 JS 엔진이 Prototype을 탐색할 때, Prototype의 종점인 Object.prototype을 탐색한 이후에도 내부 슬롯 [[Prototype]]이 자기 자신의 Object.prototype을 가리켜 무한루프 즉 순환 참조에 빠질 수 있습니다.
✅ 접근 방법
- 이때 proto 접근자 프로퍼티(proto)를 통해 간접적으로 접근할 수 있지만 권장되지 않으며, Object.getPrototypeOf(객체)로 간접 접근하는 것이 권장됩니다.
참고 자료